#! /bin/bash
# 这里指定作业名称，这里设置为test，意味着输入文件为test.inp
#SBATCH --job-name=test

# 提交到哪个队列（分区）,通过sinfo命令查看
#SBATCH --partition=E5-2640V4

# 使用多少核
#SBATCH --ntasks=32

# 错误和输出文件
#SBATCH --error=%j.err
#SBATCH --output=%j.out

# 指定ABAQUS程序路径
module load abaqus/6.14-2

# 额外参数，通过这里定义，如子程序，双精度等
# ADD_ARGS="user=myrou.f"

# 以下行如果不懂，可以不管，按默认的即可。如果你知道其含义的话，可以进行自定义修改。

# 生成abaqus_6.env文件，指定hosts
rm -rf $PWD/abaqus_v6.env
cp $ENVFILE $PWD/abaqus_v6.env
MP_HOST=$(slmabq_host.sh $SLURM_JOB_NODELIST $SLURM_JOB_CPUS_PER_NODE)
echo "$MP_HOST"  >> $PWD/abaqus_v6.env

# 创建Scratch目录
mkdir scratch.$SLURM_JOB_ID

rm -rf $SLURM_JOB_NAME.lck
unset SLURM_GTIDS
# 运行ABAQUS
abaqus job=$SLURM_JOB_NAME input=$INPUT cpus=$SLURM_NPROCS ask_delete=OFF mp_mode=mpi scratch=scratch.$SLURM_JOB_ID $ADD_ARGS int > $SLURM_JOB_NAME.log
rm -rf $PWD/abaqus_v6.env scratch.$SLURM_JOB_ID
